package com.util.seo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import org.apache.velocity.VelocityContext;


/**
 * SEO二期公共类
 * @author tigerlei
 *
 */
public class CreateSeoStaticHtmlUtil {
	
//	private TagDao tagDao;
//
//	public TagDao getTagDao() {
//		return tagDao;
//	}
//
//	public void setTagDao(TagDao tagDao) {
//		this.tagDao = tagDao;
//	}
	
//	/**
//	 * 菜系对象转换成map存储
//	 * @param list
//	 * @return
//	 */
//	public List getCaiXiMap(List<Wcategory> list){
//		Map map = null;
//		List arraylist = new ArrayList();
//		if(!list.isEmpty())
//		for(Wcategory wcategory:list){
//			map = new TreeMap();
//			map.put(Integer.valueOf(wcategory.getDISHMENUID()), wcategory.getDISHMENUNAME());
//			arraylist.add(map);
//		}
////		list.clear();
//		return arraylist;
//	}
//	
//	/**
//	 * 地区、商圈对象转换成map存储
//	 * @param list
//	 * @return
//	 */
//	public List getDiQuMap(List<WAreamapId> list){
//		Map map = null;
//		List arraylist = new ArrayList();
//		if(!list.isEmpty())
//		for (WAreamapId wAreamapId: list) {
//			map = new TreeMap();
//			map.put(Integer.valueOf(wAreamapId.getAreamapid()),  wAreamapId.getAreaname());
//			arraylist.add(map);
//		}
////		list.clear();
//		return arraylist;
//	}
//	
//	/**
//	 * 地标对象转换成map存储
//	 * @param list
//	 * @return
//	 */
//	public List getDiBiaoMap(List<MapArea> list){
//		Map map = null;
//		List arraylist = new ArrayList();
//		if(!list.isEmpty())
//		for (MapArea mapArea: list) {
//			map = new TreeMap();
//			map.put(Integer.valueOf(mapArea.getId()), mapArea.getName());
//			arraylist.add(map);
//		}
////		list.clear();
//		return arraylist;
//	}
//	
//	/**
//	 * 菜谱对象转换成map存储
//	 * @param list
//	 * @return
//	 */
//	public List getCaiPuMap(List<Tag> list){
//		Map map = null;
//		List arraylist = new ArrayList();
//		if(!list.isEmpty())
//		for (Tag tag: list) {
//			map = new TreeMap();
//			map.put(Integer.valueOf(tag.getTagId()), tag.getTagName());
//			arraylist.add(map);
//		}
//		//list.clear();
//		return arraylist;		
//	}
//	
//	/**
//	 * 菜谱对象转换成map存储
//	 * @param list
//	 * @return
//	 */
//	public List getYCMDMap(List<ClientinattBean> list){
//		Map map = null;
//		List arraylist = new ArrayList();
//		if(!list.isEmpty())
//		for (ClientinattBean clientinattBean: list) {
//			map = new TreeMap();
//			map.put(Integer.valueOf(clientinattBean.getId()),clientinattBean.getRemark());
//			arraylist.add(map);
//		}
//		//list.clear();
//		return arraylist;		
//	}
//	
//	/**
//	 * 转换成map
//	 * @param list
//	 * @return
//	 */
//	public List getCanTingMap(List<ClientInfo> list){
//		Map map = null;
//		List arraylist = new ArrayList();
//		if(!list.isEmpty())
//			for(ClientInfo info:list){
//				map = new HashMap();
//				map.put(Integer.valueOf(info.getRestaurantId()), info.getRestaurantName());
//				arraylist.add(map);
//			}
//		return arraylist;
//	}
//	
//	/**
//	 * 生成静态页路径
//	 */
////	private static final String fileUrl = "/web/www/cms/news/";
//	private static final String fileUrl = "D:/workspace/web/WebRoot/map/"; 
//	/**
//	 * 生成静态列表页
//	 * @param list	类型
//	 * @param cityEnname 英文名
//	 * @param cityNameZN 中文名
//	 * @param webUrl 静态列表页保存路径
//	 * @param String 类型name
//	 */
//	public void createStatic_CaiXiPage(TagDao tagDao,List list,String cityEnname,String cityNameZN,String webUrl,String typeid,String typename,String  webdir,CallPage page) {
//		String title ="";
//		//文件保存路径
//		String tfileUrl = fileUrl + cityEnname + "/map/statichtml/"+webdir;
//		VelocityContext vc = new VelocityContext();		
//		int j = page.getCurrentPage();		
//
//		page.setPreUrl("/map/statichtml/"+webdir);
//		page.setAppendUrl(".html");
//		//设置显示分页的数量			
//		page.setMidNum(20);
//		vc.put("cityname", cityNameZN);
//		vc.put("webtype", typeid);
//		vc.put("webtypename",typename);
//		vc.put("webUrl",webUrl);
//		vc.put("page", page);		
//		vc.put("arrlist", list);
//		vc.put("pagenum", j);
//		//链接统计
////		splitList(tagDao,list,typeid,typename,webdir);
////		TextUtil.write2File(vc, "/vm/createSeoHtmlList.vm", tfileUrl  + j + ".html", "GBK");	
//		System.out.println("统计over----------------------------------------------------" + j);
//		
//	}
//	
//	/**
//	 * 生成静态列表页
//	 * @param list	类型
//	 * @param cityEnname 英文名
//	 * @param cityNameZN 中文名
//	 * @param webUrl 静态列表页保存路径
//	 * @param String 类型name
//	 */
//	public void createStatic_Page(TagDao tagDao,List list,String cityEnname,String cityNameZN,String webUrl,String typeid,String typename,String webdir,CallPage page) {
//		String title = "";
//		//文件保存路径
//		String tfileUrl = fileUrl + cityEnname + "/map/statichtml/"+webdir;
//		VelocityContext vc = new VelocityContext();		
//		int j = page.getCurrentPage();		
//
//		page.setPreUrl("/map/statichtml/"+webdir);
//		page.setAppendUrl(".html");
//		//设置显示分页的数量			
//		page.setMidNum(15);
//		vc.put("cityname", cityNameZN);
//		vc.put("webtype", typeid);
//		vc.put("webtypename",typename);
//		vc.put("webUrl",webUrl);
//		vc.put("page", page);		
//		vc.put("arrlist", list);
//		vc.put("pagenum", j);
//		//链接统计
////		splitList(tagDao,list,typeid,typename,webdir);
//		
////		TextUtil.write2File(vc, "/vm/createSeoHtmlList2.vm", tfileUrl  + j + ".html", "GBK");	
////		list.clear();
//		System.out.println("统计over----------------------------------------------------" + j);
//		
//	}
//	
//	/**
//	 * 菜谱生成标签页并分页
//	 * @param list
//	 * @param cityEnname
//	 * @param cityNameZN
//	 * @param webdir
//	 */
//	public void createStatic_Page(List list,String cityname_en,String cityname_zn,String webUrl,String webdir) {
//		//文件保存路径
//		String tfileUrl = fileUrl + cityname_en + "/map/statichtml/"+webdir;
//		int count = list.size();
//		List<Map> templist = new ArrayList<Map>();
//		CallPage page = new CallPage();
//		VelocityContext vc = new VelocityContext();
//		int j = 1;
//		
//		//餐厅数少于300，生成网站地图餐厅内嵌内容页
//		if(list.size() <= 300 && j==1){
//			page = CallPageUtil.createPage(300, j, count);
//			page.setPreUrl("/map/statichtml/"+webdir);
//			page.setAppendUrl(".html");
//			vc.put("cityname", cityname_zn);
//			page.setMidNum(20);
//			vc.put("webUrl",webUrl);
//			vc.put("page", page);
//			vc.put("arrlist", list);
//			TextUtil.write2File(vc, "/vm/createCaiPuSeoHtmlList.vm", tfileUrl  + "content.html", "GBK");
//		}
//		//数大于300，生成内嵌内容页
//		while (list.size() > 300) {
//			//300分成一页
//			int i = 0;
//			for (Iterator<Map> iter = list.iterator(); iter.hasNext();) {
//				if (++i <= 300) {
//					templist.add(iter.next());
//					iter.remove();
//					continue;
//				}				
//				break;
//			}
//			//放进分页
//			page = CallPageUtil.createPage(300, j, count);
//			page.setPreUrl("/map/statichtml/"+webdir);
//			page.setAppendUrl(".html");
//			page.setMidNum(20);
//			vc.put("webUrl",webUrl);
//			vc.put("cityname", cityname_zn);
//			vc.put("page", page);
//			vc.put("arrlist", templist);
//			vc.put("pagenum", j);
//			if(j==1){
//				TextUtil.write2File(vc, "/vm/createCaiPuSeoHtmlList.vm", tfileUrl  + "content.html", "GBK");
//			}
//			//调用模板，写文件
//			TextUtil.write2File(vc, "/vm/createCaiPuSeoHtmlList.vm", tfileUrl  + j + ".html", "GBK");
//			templist.clear();
//			j++;
//		}
//		page = CallPageUtil.createPage(300, j, count);
//		page.setPreUrl("/map/statichtml/"+webdir);
//		page.setAppendUrl(".html");
//		vc.put("cityname", cityname_zn);
//		page.setMidNum(20);
//		vc.put("webUrl",webUrl);
//		vc.put("page", page);
//		vc.put("arrlist", list);
//		vc.put("pagenum", j);
//		TextUtil.write2File(vc, "/vm/createCaiPuSeoHtmlList.vm", tfileUrl  + j + ".html", "GBK");	
//		//list.clear();
//		System.out.println("餐厅生成标签页并分页over----------------------------------------------------" + j);
//		
//	}
//	
//	/**
//	 * 生成标签页
//	 * @param list
//	 * @param cityname_en
//	 * @param cityname_zn
//	 * @param webUrl
//	 * @param webdir
//	 * @param webStr
//	 */
//	public  void createStatic_Page(TagDao tagDao,List list,String cityname_en,String cityname_zn,String webUrl,String webdir,String webStr) {
//		//文件保存路径
//		String tfileUrl = fileUrl + cityname_en + "/map/statichtml/"+webdir;
//		int count = list.size();
//		List<Map> templist = new ArrayList<Map>();
//		CallPage page = new CallPage();
//		VelocityContext vc = new VelocityContext();
//		vc.put("webStr", webStr);
//		int j = 1;
//		//统计链接数量
////		splitList(tagDao, list, "", webStr, webdir); 
//		
//		//餐厅数少于300，生成网站地图餐厅内嵌内容页
//		if(list.size() <= 300 && j==1){
//			page = CallPageUtil.createPage(300, j, count);
//			page.setPreUrl("/map/statichtml/"+webdir);
//			page.setAppendUrl(".html");
//			vc.put("cityname", cityname_zn);
//			page.setMidNum(20);
//			vc.put("webUrl",webUrl);
//			vc.put("page", page);
//			vc.put("arrlist", list);
//			TextUtil.write2File(vc, "/vm/createSeoHtmlList3.vm", tfileUrl  + "content.html", "GBK");
//		}
//		//数大于300，生成内嵌内容页
//		while (list.size() > 300) {
//			//300分成一页
//			int i = 0;
//			for (Iterator<Map> iter = list.iterator(); iter.hasNext();) {
//				if (++i <= 300) {
//					templist.add(iter.next());
//					iter.remove();
//					continue;
//				}				
//				break;
//			}
//			//放进分页
//			page = CallPageUtil.createPage(300, j, count);
//			page.setPreUrl("/map/statichtml/"+webdir);
//			page.setAppendUrl(".html");
//			page.setMidNum(20);
//			vc.put("webUrl",webUrl);
//			vc.put("cityname", cityname_zn);
//			vc.put("page", page);
//			vc.put("arrlist", templist);
//			vc.put("pagenum", j);			
//			if(j==1){
//				TextUtil.write2File(vc, "/vm/createSeoHtmlList3.vm", tfileUrl  + "content.html", "GBK");
//			}
//			//调用模板，写文件
//			TextUtil.write2File(vc, "/vm/createSeoHtmlList3.vm", tfileUrl  + j + ".html", "GBK");
//			templist.clear();
//			j++;
//		}
//		page = CallPageUtil.createPage(300, j, count);
//		page.setPreUrl("/map/statichtml/"+webdir);
//		page.setAppendUrl(".html");
//		vc.put("cityname", cityname_zn);
//		page.setMidNum(20);
//		vc.put("webUrl",webUrl);
//		vc.put("page", page);
//		vc.put("arrlist", list);
//		vc.put("pagenum", j);
//		
//		TextUtil.write2File(vc, "/vm/createSeoHtmlList3.vm", tfileUrl  + j + ".html", "GBK");	
//		//list.clear();
//		System.out.println("餐厅生成标签页并分页over----------------------------------------------------" + j);
//		
//	}
//	
//	/**
//     * 保存链接信息
//     * @param type
//     * @param linkUrl
//     * @param linkCountNum
//     * @param CN_Name
//     */
//	public void saveLinkCount(TagDao tagDao,int type,String linkUrl,String linkCountNum,String CN_Name,String httpUrl,int cityid){
//		tagDao.saveLinkCount(type,linkUrl,linkCountNum,CN_Name,httpUrl,cityid);
//	}
//	
//	
//	/**
//	 * 组合数据
//	 * @param type
//	 * @param typeOneId
//	 * @param typeOneName
//	 * @param typeTwoId
//	 * @param typeTwoName
//	 */
//	public void aggrDate(TagDao tagDao,int type,String typeOneId,String typeOneName,String typeTwoId,String typeTwoName,int cityid,String cityname_en){
//		//组合web_URL路径
//		String linkUrl = SEOLinkCountUtil.concatWebUrl(type, typeOneId, typeOneName, typeTwoId, typeTwoName);
//		//组合中文名字
//		String CN_Name = linkUrl.substring(linkUrl.indexOf("#")+1,linkUrl.length());
//		linkUrl = linkUrl.substring(0,linkUrl.indexOf("#"));
//		
//		//统计URL数据
//		String httpUrl = SEOLinkCountUtil.concatUrl(type, typeOneId, typeOneName, typeTwoId, typeTwoName,cityname_en);
//		int linkCountNum = SEOLinkCountUtil.getLinkCount(httpUrl);
////System.out.println("type= = "+type+"== linkURL== "+linkUrl+"   linkcountnum== "+linkCountNum+"  cn_name=="+CN_Name+"  hturl== "+httpUrl+"  cityid== "+cityid);
//		//保存统计数据
//		saveLinkCount(tagDao,type,linkUrl,String.valueOf(linkCountNum),CN_Name,httpUrl,cityid);
//	}
//	
//	/**
//	 * 迭代List取出元素
//	 * @param list
//	 * @param typeOneId
//	 * @param typeOneName
//	 * @param type
//	 */
//	public void splitList(TagDao tagDao,List<Map<Integer ,String>> list,String typeOneId,String typeOneName,String type,int cityid,String cityname_en){
//		Integer typeTwoId = 0 ;
//		String typeTwoName = "";
//		type = type.substring(0,type.length()-1);
//		int i=0;
//		int j = 0;
//		for(Map<Integer ,String> map:list){
//			i++;
//			for(Iterator<Integer> ite = map.keySet().iterator();ite.hasNext();){
//				typeTwoId = ite.next();
//				typeTwoName = map.get(typeTwoId);
//			}
//			//占用部分时间，暂缓5执行aggrDate方法
//			if(i>=200){
//				for(j=0;j<(1000*60);j++){
//					System.out.println(j);				
//				}
//				i = 0;
//				j = 0;
//			}
//			//聚合数据
//			aggrDate(tagDao,Integer.parseInt(type),typeOneId,typeOneName,typeTwoId.toString(),typeTwoName,cityid,cityname_en);
//		}
//	}
//	
//	/**
//	 * 生成统计后的静态页
//	 * @param list
//	 * @param cityname_en
//	 * @param cityname_zn
//	 * @param typeid
//	 * 
//	 */
//	public  void createLinkCountStaticPage(List list,String cityname_en,String cityname_zn,String typeid) {
//		//文件保存路径
//		String tfileUrl = fileUrl + cityname_en + "/map/statichtml/"+typeid+"/";
//		int count = list.size();
//		List<LinkCountBean> templist = new ArrayList<LinkCountBean>();
//		CallPage page = new CallPage();
//		VelocityContext vc = new VelocityContext();
//		int j = 1;
//		
//		//餐厅数少于300，生成网站地图餐厅内嵌内容页
//		if(list.size() <= 300 && j==1){
//			page = CallPageUtil.createPage(300, j, count);
//			page.setPreUrl("/map/statichtml/"+typeid+"/");
//			page.setAppendUrl(".html");
//			vc.put("cityname", cityname_zn);
//			vc.put("cityname_en",cityname_en);
//			page.setMidNum(20);
//			vc.put("page", page);
//			vc.put("arrlist", list);
//			TextUtil.write2File(vc, "/vm/createSeoLinkCountHtmlList.vm", tfileUrl  + "content.html", "GBK");
//		}
//		//数大于300，生成内嵌内容页
//		while (list.size() > 300) {
//			//300分成一页
//			int i = 0;
//			for (Iterator<LinkCountBean> iter = list.iterator(); iter.hasNext();) {
//				if (++i <= 300) {
//					templist.add(iter.next());
//					iter.remove();
//					continue;
//				}				
//				break;
//			}
//			//放进分页
//			page = CallPageUtil.createPage(300, j, count);
//			page.setPreUrl("/map/statichtml/"+typeid+"/");
//			page.setAppendUrl(".html");
//			page.setMidNum(20);
//			vc.put("cityname", cityname_zn);
//			vc.put("cityname_en",cityname_en);
//			vc.put("page", page);
//			vc.put("arrlist", templist);
//			vc.put("pagenum", j);			
//			if(j==1){
//				TextUtil.write2File(vc, "/vm/createSeoLinkCountHtmlList.vm", tfileUrl  + "content.html", "GBK");
//			}
//			//调用模板，写文件
//			TextUtil.write2File(vc, "/vm/createSeoLinkCountHtmlList.vm", tfileUrl  + j + ".html", "GBK");
//			templist.clear();
//			j++;
//		}
//		page = CallPageUtil.createPage(300, j, count);
//		page.setPreUrl("/map/statichtml/"+typeid+"/");
//		page.setAppendUrl(".html");
//		vc.put("cityname", cityname_zn);
//		vc.put("cityname_en",cityname_en);
//		page.setMidNum(20);
//		vc.put("page", page);
//		vc.put("arrlist", list);
//		vc.put("pagenum", j);
//		TextUtil.write2File(vc, "/vm/createSeoLinkCountHtmlList.vm", tfileUrl  + j + ".html", "GBK");	
//		list.clear();
//		System.out.println("生成createSeoLinkCountHtmlList.vm分页over----------------------------------------------------" + j);
//		
//	}
//	
//	
//	public static void main(String[]args){
//		test();
//	}
//	
//	private static  void test() {
//		   Map<Long,String> hotMap = new HashMap<Long,String>();
//		   hotMap.put(1L, "北京饭店");
//		   hotMap.put(2L, "长城饭店");
//		   hotMap.put(3L, "全聚得");
//		   
//		   Map<Long,String> vegMap = new HashMap<Long,String>();
//		   vegMap.put(1L, "菜一");
//		   vegMap.put(2L, "菜二");
//		   vegMap.put(3L, "菜三");
//		   vegMap.put(4L, "菜四");
//		   
//		   List <String> tempList = new ArrayList<String>();
//		   for (Iterator<Long> it = hotMap.keySet().iterator();it.hasNext();) {
//			   long key1 = it.next();
//			   for (Iterator<Long> iter = vegMap.keySet().iterator();iter.hasNext();) {
//				   long key  = iter.next();				  
//				   tempList.add(key1+"-"+hotMap.get(key1)+","+key+"-"+vegMap.get(key));
//				   if(tempList.size() == 4) {
//					   //测试输出
//					   System.out.println(tempList);
//					   //正式写入文件,每次写个新文件
//					   
//					   //清空tempList
//					   tempList.clear();
//					   
//				   }else{					   
//				   }
//				   
//				   if(tempList.size()>0)
//					   tempList = null;
//
//			   }
//		   }
//	}

	
}
